HAL SAI constants migration ¶
This section provides information about the HAL SAI constants migration .
HAL SAI error codes constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define HAL_SAI_ERROR_AFSDET
#define HAL_SAI_ERROR_CNREADY
#define HAL_SAI_ERROR_DMA
#define HAL_SAI_ERROR_LFSDET
#define HAL_SAI_ERROR_NONE
#define HAL_SAI_ERROR_OVR
#define HAL_SAI_ERROR_TIMEOUT
#define HAL_SAI_ERROR_UDR
#define HAL_SAI_ERROR_WCKCFG
#define HAL_SAI_ERROR_INVALID_CALLBACK
|
#define HAL_SAI_ERROR_AFSDET
#define HAL_SAI_ERROR_CNREADY
#define HAL_SAI_ERROR_DMA
#define HAL_SAI_ERROR_LFSDET
#define HAL_SAI_ERROR_NONE
#define HAL_SAI_ERROR_OVR
#define HAL_SAI_ERROR_TIMEOUT
#define HAL_SAI_ERROR_UDR
#define HAL_SAI_ERROR_WCKCFG
Removed; these kinds of logical errorsare reported by direct function return. |
Related concept:
HAL SAI protocol constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_AC97_PROTOCOL
#define SAI_FREE_PROTOCOL
#define SAI_SPDIF_PROTOCOL
|
typedef enum
{
HAL_SAI_PROTOCOL_AC97,
HAL_SAI_PROTOCOL_FREE,
HAL_SAI_PROTOCOL_SPDIF
} hal_sai_protocol_t;
|
Related concept:
HAL SAI audio frequency constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_AUDIO_FREQUENCY_11K
#define SAI_AUDIO_FREQUENCY_16K
#define SAI_AUDIO_FREQUENCY_192K
#define SAI_AUDIO_FREQUENCY_22K
#define SAI_AUDIO_FREQUENCY_32K
#define SAI_AUDIO_FREQUENCY_44K
#define SAI_AUDIO_FREQUENCY_48K
#define SAI_AUDIO_FREQUENCY_8K
#define SAI_AUDIO_FREQUENCY_96K
#define SAI_AUDIO_FREQUENCY_MCKDIV
|
typedef enum
{
HAL_SAI_AUDIO_FREQUENCY_11KHZ,
HAL_SAI_AUDIO_FREQUENCY_16KHZ,
HAL_SAI_AUDIO_FREQUENCY_192KHZ,
HAL_SAI_AUDIO_FREQUENCY_22KHZ,
HAL_SAI_AUDIO_FREQUENCY_32KHZ,
HAL_SAI_AUDIO_FREQUENCY_44KHZ,
HAL_SAI_AUDIO_FREQUENCY_48KHZ,
HAL_SAI_AUDIO_FREQUENCY_8KHZ,
HAL_SAI_AUDIO_FREQUENCY_96KHZ,
HAL_SAI_AUDIO_FREQUENCY_MCLK_DIV
} hal_sai_audio_frequency_t;
|
Related concept:
HAL SAI clock strobing constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_CLOCKSTROBING_FALLINGEDGE
#define SAI_CLOCKSTROBING_RISINGEDGE
|
typedef enum
{
HAL_SAI_CLOCK_STROBING_FALLING_EDGE,
HAL_SAI_CLOCK_STROBING_RISING_EDGE
} hal_sai_clock_strobing_edge_t;
|
Related concept:
HAL SAI data size constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_DATASIZE_10
#define SAI_DATASIZE_16
#define SAI_DATASIZE_20
#define SAI_DATASIZE_24
#define SAI_DATASIZE_32
#define SAI_DATASIZE_8
|
typedef enum
{
HAL_SAI_DATA_SIZE_10BITS,
HAL_SAI_DATA_SIZE_16BITS,
HAL_SAI_DATA_SIZE_20BITS,
HAL_SAI_DATA_SIZE_24BITS,
HAL_SAI_DATA_SIZE_32BITS,
HAL_SAI_DATA_SIZE_8BITS
} hal_sai_data_size_t;
|
Related concept:
HAL SAI FIFO status flags constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_FIFOSTATUS_1QUARTERFULL
#define SAI_FIFOSTATUS_3QUARTERFULL
#define SAI_FIFOSTATUS_EMPTY
#define SAI_FIFOSTATUS_FULL
#define SAI_FIFOSTATUS_HALFFULL
#define SAI_FIFOSTATUS_LESS1QUARTERFULL
|
In HAL2, the FIFO status flag enumerations are used internally by the SAI driver. |
HAL SAI FIFO threshold constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_FIFOTHRESHOLD_1QF
#define SAI_FIFOTHRESHOLD_3QF
#define SAI_FIFOTHRESHOLD_EMPTY
#define SAI_FIFOTHRESHOLD_FULL
#define SAI_FIFOTHRESHOLD_HF
|
typedef enum
{
HAL_SAI_FIFO_THRESHOLD_1_4,
HAL_SAI_FIFO_THRESHOLD_3_4,
HAL_SAI_FIFO_THRESHOLD_EMPTY,
HAL_SAI_FIFO_THRESHOLD_FULL,
HAL_SAI_FIFO_THRESHOLD_1_2
} hal_sai_fifo_threshold_t;
|
Related concept:
HAL SAI first bit constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_FIRSTBIT_LSB
#define SAI_FIRSTBIT_MSB
|
typedef enum
{
HAL_SAI_BIT_ORDER_LSB,
HAL_SAI_BIT_ORDER_MSB
} hal_sai_bit_order_t;
|
Related concept:
HAL SAI status flags constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_FLAG_AFSDET
#define SAI_FLAG_CNRDY
#define SAI_FLAG_FREQ
#define SAI_FLAG_LFSDET
#define SAI_FLAG_MUTEDET
#define SAI_FLAG_OVRUDR
#define SAI_FLAG_WCKCFG
|
#define HAL_SAI_FLAG_AFSDET
#define HAL_SAI_FLAG_CNRDY
#define HAL_SAI_FLAG_FREQ
#define HAL_SAI_FLAG_LFSDET
#define HAL_SAI_FLAG_MUTEDET
#define HAL_SAI_FLAG_OVRUDR
#define HAL_SAI_FLAG_WCKCFG
|
Related concept:
HAL SAI frame synchronization constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_FS_ACTIVE_HIGH
#define SAI_FS_ACTIVE_LOW
#define SAI_FS_BEFOREFIRSTBIT
#define SAI_FS_FIRSTBIT
#define SAI_FS_CHANNEL_IDENTIFICATION
#define SAI_FS_STARTFRAME
|
typedef enum
{
HAL_SAI_FS_POLARITY_RISING,
HAL_SAI_FS_POLARITY_FALLING
} hal_sai_fs_polarity_t;
typedef enum
{
HAL_SAI_FS_BEFORE_FIRST_BIT,
HAL_SAI_FS_FIRST_BIT
} hal_sai_fs_offset_t;
typedef enum
{
HAL_SAI_FS_CHANNEL_IDENTIFICATION,
HAL_SAI_FS_START_FRAME
} hal_sai_fs_definition_t;
|
Related concept:
HAL SAI supported protocol constants ¶
|
HAL1 |
HAL2 |
|---|---|
|
The SAI supported protocol constants have been used by the
|
The function
See also how to migrate the
|
#define SAI_I2S_STANDARD
#define SAI_I2S_MSBJUSTIFIED
#define SAI_I2S_LSBJUSTIFIED
#define SAI_PCM_SHORT
#define SAI_PCM_LONG
|
Removed in HAL2. |
HAL SAI interrupt identifiers constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_IT_AFSDET
#define SAI_IT_CNRDY
#define SAI_IT_FREQ
#define SAI_IT_LFSDET
#define SAI_IT_MUTEDET
#define SAI_IT_OVRUDR
#define SAI_IT_WCKCFG
|
#define HAL_SAI_IT_AFSDET
#define HAL_SAI_IT_CNRDY
#define HAL_SAI_IT_FREQ
#define HAL_SAI_IT_LFSDET
#define HAL_SAI_IT_MUTEDET
#define HAL_SAI_IT_OVRUDR
#define HAL_SAI_IT_WCKCFG
|
Related concept:
HAL SAI master divider constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_MASTERDIVIDER_DISABLE
#define SAI_MASTERDIVIDER_ENABLE
|
typedef enum
{
HAL_SAI_MASTER_DIVIDER_DISABLE,
HAL_SAI_MASTER_DIVIDER_ENABLE
} hal_sai_master_divider_t;
|
Related concept:
HAL SAI master clock output constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_MCK_OUTPUT_DISABLE
#define SAI_MCK_OUTPUT_ENABLE
|
typedef enum
{
HAL_SAI_MCLK_OUTPUT_DISABLED,
HAL_SAI_MCLK_OUTPUT_ENABLED
} hal_sai_mclk_output_status_t;
|
Related concept:
HAL SAI master clock oversampling constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_MCK_OVERSAMPLING_DISABLE
#define SAI_MCK_OVERSAMPLING_ENABLE
|
typedef enum
{
HAL_SAI_MCLK_OVERSAMPLING_DISABLE,
HAL_SAI_MCLK_OVERSAMPLING_ENABLE
} hal_sai_mclk_oversampling_t;
|
Related concept:
HAL SAI mode constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_MODEMASTER_RX
#define SAI_MODEMASTER_TX
#define SAI_MODESLAVE_RX
#define SAI_MODESLAVE_TX
|
typedef enum
{
HAL_SAI_MODE_MASTER_RX,
HAL_SAI_MODE_MASTER_TX,
HAL_SAI_MODE_SLAVE_RX,
HAL_SAI_MODE_SLAVE_TX
} hal_sai_mode_t;
|
Related concept:
HAL SAI output drive constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_OUTPUTDRIVE_DISABLE
#define SAI_OUTPUTDRIVE_ENABLE
|
typedef enum
{
HAL_SAI_OUTPUT_DRIVE_DISABLED,
HAL_SAI_OUTPUT_DRIVE_ENABLED
} hal_sai_output_drive_status_t;
|
Related concept:
HAL SAI output release status constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_OUTPUT_NOTRELEASED
#define SAI_OUTPUT_RELEASED
|
typedef enum
{
HAL_SAI_TRISTATE_SD_OUTPUT_NOT_RELEASED,
HAL_SAI_TRISTATE_SD_OUTPUT_RELEASED
} hal_sai_tristate_sd_output_status_t;
|
Related concept:
HAL SAI PDM clock enable flags constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_PDM_CLOCK1_ENABLE
#define SAI_PDM_CLOCK2_ENABLE
|
typedef enum
{
HAL_SAI_PDM_CLOCK1_CLOCK2_DISABLE,
HAL_SAI_PDM_CLOCK1_ENABLE,
HAL_SAI_PDM_CLOCK2_ENABLE,
HAL_SAI_PDM_CLOCK1_CLOCK2_ENABLE,
} hal_sai_pdm_clock_t;
|
Related concept:
HAL SAI protocol data size constants ¶
|
HAL1 |
HAL2 |
|---|---|
|
The SAI protocol data size constants have been used by the
|
The function
See also how to migrate the
|
#define SAI_PROTOCOL_DATASIZE_16BIT
#define SAI_PROTOCOL_DATASIZE_16BITEXTENDED
#define SAI_PROTOCOL_DATASIZE_24BIT
#define SAI_PROTOCOL_DATASIZE_32BIT
|
Removed from HAL2. |
HAL SAI block slot active constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_SLOT_NOTACTIVE
#define SAI_SLOTACTIVE_0
#define SAI_SLOTACTIVE_1
#define SAI_SLOTACTIVE_10
#define SAI_SLOTACTIVE_11
#define SAI_SLOTACTIVE_12
#define SAI_SLOTACTIVE_13
#define SAI_SLOTACTIVE_14
#define SAI_SLOTACTIVE_15
#define SAI_SLOTACTIVE_2
#define SAI_SLOTACTIVE_3
#define SAI_SLOTACTIVE_4
#define SAI_SLOTACTIVE_5
#define SAI_SLOTACTIVE_6
#define SAI_SLOTACTIVE_7
#define SAI_SLOTACTIVE_8
#define SAI_SLOTACTIVE_9
#define SAI_SLOTACTIVE_ALL
|
#define HAL_SAI_SLOT_NOT_ACTIVE
#define HAL_SAI_SLOT_ACTIVE_0
#define HAL_SAI_SLOT_ACTIVE_1
#define HAL_SAI_SLOT_ACTIVE_10
#define HAL_SAI_SLOT_ACTIVE_11
#define HAL_SAI_SLOT_ACTIVE_12
#define HAL_SAI_SLOT_ACTIVE_13
#define HAL_SAI_SLOT_ACTIVE_14
#define HAL_SAI_SLOT_ACTIVE_15
#define HAL_SAI_SLOT_ACTIVE_2
#define HAL_SAI_SLOT_ACTIVE_3
#define HAL_SAI_SLOT_ACTIVE_4
#define HAL_SAI_SLOT_ACTIVE_5
#define HAL_SAI_SLOT_ACTIVE_6
#define HAL_SAI_SLOT_ACTIVE_7
#define HAL_SAI_SLOT_ACTIVE_8
#define HAL_SAI_SLOT_ACTIVE_9
#define HAL_SAI_SLOT_ACTIVE_ALL
|
Related concept:
HAL SAI slot size constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_SLOTSIZE_16B
#define SAI_SLOTSIZE_32B
#define SAI_SLOTSIZE_DATASIZE
|
typedef enum
{
HAL_SAI_SLOT_SIZE_16BITS,
HAL_SAI_SLOT_SIZE_32BITS,
HAL_SAI_SLOT_SIZE_DATA_SIZE,
} hal_sai_slot_size_t;
|
Related concept:
HAL SAI mono/stereo mode constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_STEREOMODE
#define SAI_MONOMODE
|
typedef enum
{
HAL_SAI_MONO_MODE_DISABLED,
HAL_SAI_MONO_MODE_ENABLED,
} hal_sai_mono_mode_status_t;
|
Related concept:
HAL SAI external synchronization constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_SYNCEXT_DISABLE
#define SAI_SYNCEXT_OUTBLOCKA_ENABLE
#define SAI_SYNCEXT_OUTBLOCKB_ENABLE
|
typedef enum
{
HAL_SAI_SYNC_OUTPUT_DISABLE,
HAL_SAI_SYNC_OUTPUT_BLOCK_A_ENABLE,
HAL_SAI_SYNC_OUTPUT_BLOCK_B_ENABLE,
} hal_sai_sync_output_t;
|
Related concept:
HAL SAI synchronization mode constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_ASYNCHRONOUS
#define SAI_SYNCHRONOUS
#define SAI_SYNCHRONOUS_EXT_SAI1
#define SAI_SYNCHRONOUS_EXT_SAI2
|
typedef enum
{
HAL_SAI_SYNC_NO,
HAL_SAI_SYNC_INTERNAL,
HAL_SAI_SYNC_EXTERNAL,
} hal_sai_sync_t;
|
Note
In HAL2, the constants
SAI_SYNCHRONOUS_EXT_SAI1andSAI_SYNCHRONOUS_EXT_SAI2have been consolidated into a single constantHAL_SAI_SYNC_EXTERNAL.The user now only needs to indicate that external synchronization is required.
The actual SAI instance providing the synchronization (SAI1 or SAI2) is implicitly determined by the currently used SAI instance.
For example, when the driver uses the SAI1 instance, external synchronization is provided by SAI2, and conversely, when the driver uses SAI2, external synchronization is provided by SAI1
Related concept:
HAL SAI companding constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_NOCOMPANDING
#define SAI_ULAW_1CPL_COMPANDING
#define SAI_ULAW_2CPL_COMPANDING
#define SAI_ALAW_1CPL_COMPANDING
#define SAI_ALAW_2CPL_COMPANDING
|
typedef enum
{
HAL_SAI_COMPANDING_NO,
HAL_SAI_COMPANDING_ULAW_1CPL,
HAL_SAI_COMPANDING_ULAW_2CPL,
HAL_SAI_COMPANDING_ALAW_1CPL,
HAL_SAI_COMPANDING_ALAW_2CPL,
} hal_sai_companding_t;
|
Related concept:
HAL SAI mute mode constants ¶
|
HAL1 |
HAL2 |
|---|---|
#define SAI_LAST_SENT_VALUE
#define SAI_ZERO_VALUE
|
typedef enum
{
HAL_SAI_MUTE_MODE_LAST_VALUE,
HAL_SAI_MUTE_MODE_ZERO_VALUE,
} hal_sai_mute_mode_t;
|
Related concept: